#pragma once

#include <string>
#include <cstdint>

class IHandle;

class IEvent {
public:
    virtual ~IEvent() {}
    virtual void OnConnect(IHandle* h) = 0;
    virtual void OnRead(IHandle* h, const char* buf, int len) = 0;
    virtual void OnDisconnect(IHandle* h) = 0;
    virtual void OnLog(IHandle* h, const std::string& log) = 0;
};
